﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;

namespace AdatbazisProjekt
{
    class UjTermekHozzadasData : DalGen
    {
        public UjTermekHozzadasData(ref bool Err)
        {
            if (!base.IsConnectCreated())
            {
                Err = !base.MakeConnection();
            }
        }

        public List<String> GetKategoriak()
        {
            OpenConnection();
            List<String> kategoriak = new List<String>();
            string error = "";
            SqlDataReader reader = mExecuteReader("SELECT KategoriaNev FROM Kategoriak", ref error, null);
            while (reader.Read())
            {
                kategoriak.Add(reader["KategoriaNev"].ToString());
            }
            this.CloseConnection();
            return kategoriak;
        }

        public void UjTermekBeszuras(string termekNev, string processzor, string merevlemez, string kepernyo, string videokartya, string ram, string garancia, string darabszam, string gyarto, string kategoria, string ar,ref bool ok)
        {
            try
            {
                ok = true;
                List<String> paraNev = new List<string>();
                List<String> paraErtek = new List<string>();
                paraNev.Add("@termekNev");
                paraNev.Add("@processzor");
                paraNev.Add("@merevlemez");
                paraNev.Add("@kepernyo");
                paraNev.Add("@videokartya");
                paraNev.Add("@ram");
                paraNev.Add("@garancia");
                paraNev.Add("@darabszam");
                paraNev.Add("@gyarto");
                paraNev.Add("@kategoria");
                paraNev.Add("@ar");

                paraErtek.Add(termekNev);
                paraErtek.Add(processzor);
                paraErtek.Add(merevlemez);
                paraErtek.Add(kepernyo);
                paraErtek.Add(videokartya);
                paraErtek.Add(ram);
                paraErtek.Add(garancia);
                paraErtek.Add(darabszam);
                paraErtek.Add(gyarto);
                paraErtek.Add(kategoria);
                paraErtek.Add(ar);

                this.MyExecuteNonQueryWithParameters("EXEC UjTermekHozzadas @termekNev, @processzor, @merevlemez, @kepernyo, @videokartya, @ram, @garancia, @darabszam, @gyarto, @kategoria, @ar ", paraNev, paraErtek, null);
            }
            catch (Exception)
            {
                ok = false;
            }
        }

        public void UjGyarto(string nev, string orszag, ref bool error)
        {
            try
            {
                error = false;
                this.MyExecuteNonQuery("EXEC UjGyarto '" + nev + "', '" + orszag + "';", ref error, null);
            }
            catch (Exception)
            {
                error = true;
            }
        }

        public void UjKategoria(string nev, ref bool error)
        {
            try
            {
                error = false;
                this.MyExecuteNonQuery("INSERT INTO Kategoriak VALUES ('" + nev + "')",ref error, null);
            }
            catch (Exception)
            {
                error = true;
            }
        }
    }
}
